package com.atguigu0.sql

import org.apache.spark.sql.{DataFrame, Dataset, SparkSession}

/**
 * @description: 自定义函数
 * @time: 2020/6/15 14:17
 * @author: baojinlong
 **/
object UdfDemo {
  def main(args: Array[String]): Unit = {
    // 创建sparkSession对象
    val spark: SparkSession = SparkSession.builder().master("local[*]").appName("xx").getOrCreate()
    // 导入隐式转换,注意spark.implicits._中spark必须要和上面spark变量名称一致
    // 读取文件
    val dataFrame: DataFrame = spark.read.json("E:/qj_codes/big-data/Spark1015/SparkCoreDaemon/src/data/person.json")
    // 创建函数
    spark.udf.register("add", (x: Int) => x + 100)
    // sql风格
    dataFrame.createTempView("people")
    spark.sql("select add(age) from people").show

    // 关闭资源
    spark.stop()
  }

}
